﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WebApplication.BaseClass;
using WebApplication.MessageContent;

namespace WebApplication.MessageContent
{
    public interface IMessageContext
    {
        /// <summary>
        /// 用户名（OpenID）
        /// </summary>
        string UserName { get; set; }

        /// <summary>
        /// 最后一次活动时间（用户主动发送Request请求的时间）
        /// </summary>
        DateTime LastActiveTime { get; set; }

        /// <summary>
        /// 用户发送信息记录
        /// </summary>
        MessageContainer<IRequestMessageBase> RequestMessage { get; set; }
        /// <summary>
        /// 用户接受消息记录
        /// </summary>
        MessageContainer<IResponseMessageBase> ResponseMessage { get; set; }

        int MaxRecordCount { get; set; }

        object StorageData { get; set; }

        event EventHandler<WeixinContextRemovedEventArgs> MessageContextRemoved;

        void OnRemoved();

    }
}
